using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.SGI.ERP.Entidades
{
	public class CtacorVO
	{
		// Impedir o uso de new para esta classe
		protected CtacorVO() { }

		// Cria uma instancia desta classe
		public static CtacorVO CreateVO()
		{
			CtacorVO ctacor = new CtacorVO();
			ctacor.idFilialVO = FilialVO.CreateVO();
			ctacor.idBancoVO = BancoVO.CreateVO();
			ctacor.idCtaCorTipoVO = CtacortipoVO.CreateVO();
			return ctacor;
		}
		public static CtacorVO CreateVO(int idCtaCor, string ctaCor)
		{
			CtacorVO obj = CreateVO();
			obj.idCtaCor = idCtaCor;
			obj.ctaCor = ctaCor;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
            return idCtaCor != -1 ? ctaCor + " ( " + agencia + " / " + conta + " )" : "";
		}

        public string tostring
        {
            get { return idCtaCor!=-1 ?ctaCor + " ( " + agencia + " / " + conta + " )" : ""; }
        }

		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return idCtaCor.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idCtaCor
		{
			get { return this._idCtaCor; }
			set { this._idCtaCor = value; }
		}
		private int _idCtaCor;
		public string ctaCor
		{
			get { return this._ctaCor; }
			set { this._ctaCor = value; }
		}
		private string _ctaCor;
		public int idFilial
		{
			get { return this._idFilial; }
			set { this._idFilial = value; 
			      if(value!=null) this.idFilialVO.idFilial = (int)value; }
		}
		private int _idFilial;
		public int idBanco
		{
			get { return this._idBanco; }
			set { this._idBanco = value; 
			      if(value!=null) this.idBancoVO.idBanco = (int)value; }
		}
		private int _idBanco;
		public string agencia
		{
			get { return this._agencia; }
			set { this._agencia = value; }
		}
		private string _agencia;
		public string conta
		{
			get { return this._conta; }
			set { this._conta = value; }
		}
		private string _conta;
		public int idCtaCorTipo
		{
			get { return this._idCtaCorTipo; }
			set { this._idCtaCorTipo = value; 
			      if(value!=null) this.idCtaCorTipoVO.idCtaCorTipo = (int)value; }
		}
		private int _idCtaCorTipo;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public FilialVO idFilialVO
		{
			get { return this._idFilialVO; }
			set { this._idFilialVO = value; }
		}
		private FilialVO _idFilialVO;
		public BancoVO idBancoVO
		{
			get { return this._idBancoVO; }
			set { this._idBancoVO = value; }
		}
		private BancoVO _idBancoVO;
		public CtacortipoVO idCtaCorTipoVO
		{
			get { return this._idCtaCorTipoVO; }
			set { this._idCtaCorTipoVO = value; }
		}
		private CtacortipoVO _idCtaCorTipoVO;
		#endregion
	}
}
